-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Initial bpfman-operator support for Load/Attach Split #347
base: main
Are you sure you want to change the base?
Conversation
e352df4
to
0531a5f
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #347 +/- ##
==========================================
+ Coverage 28.12% 31.00% +2.88%
==========================================
Files 128 148 +20
Lines 11207 13848 +2641
==========================================
+ Hits 3152 4294 +1142
- Misses 7773 9149 +1376
- Partials 282 405 +123
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
113089c
to
60d0115
Compare
All of the examples will need to be updated with the new CRD format before the Kubernetes integration tests will pass. |
@anfredette, this pull request is now in conflict and requires a rebase. |
083793b
to
5dce708
Compare
5dce708
to
94b2131
Compare
@anfredette, this pull request is now in conflict and requires a rebase. |
94b2131
to
8bf9338
Compare
10366ab
to
0c7f942
Compare
0c7f942
to
218f890
Compare
@anfredette, this pull request is now in conflict and requires a rebase. |
This is still a WIP, but it's working for cluster-scoped XDP programs. Here's a sample of the kubectl output from installing and deleting an XDP program: If you're looking at the code, the new operator and agent code is in the app-operator and app-agent directories, while the old code is still in bpfman-operator and bpfman-agent. I plan to eventually delete the old directories and rename the new ones, but I'm keeping the old code around for comparison and to pull from as needed. |
2799666
to
d68ab2a
Compare
a068f54
to
83561f6
Compare
203e4ff
to
69a1b95
Compare
Includes support for Cluster-Scoped XDP, TXC, and Fentry Programs This commit introduces the foundation for the load/attach split, including: - Updates to the `BpfApplication` CRD to support a separate list of optional attach points for programs. This allows programs to be loaded before attachments are made and enables dynamic attachment updates. - An initial version of the `BpfApplicationState` CRD to manage per-node information for a single `BpfApplication`. - Proof of concept and initial implementation for cluster-scoped XDP, TCX, and Fentry programs, with working unit tests and samples. See TODO.md for more info. Signed-off-by: Andre Fredette <[email protected]>
69a1b95
to
9e5cb54
Compare
I've cleaned up the code a bit and added support for TCX and Fentry. See the TODO.md file for more details. |
Signed-off-by: Andre Fredette <[email protected]>
6dde156
to
ce4d79d
Compare
Signed-off-by: Andre Fredette <[email protected]>
Initial bpfman-operator support for Load/Attach Split with Initial Cluster-Scoped XDP Programs
NOTE: This code doesn't actually do the load/attach split, but simulates it be re-loading the
program for each attachment.
This commit introduces the foundation for the load/attach split, including:
BpfApplication
CRD to support a separate list of optionalattach points for programs. This allows programs to be loaded before
attachments are made and enables dynamic attachment updates.
BpfApplicationNode
CRD to manage per-nodeinformation for a single
BpfApplication
.programs, with working unit tests in the app-agent.
Additionally:
currently limited to XDP programs.
further cleanup and support for additional program types planned.
TODO: